/**
 * @filename:Job 2022-9-28
 * Copyright(c) 2022 Wonder Co. Ltd. 
 * All right reserved. 
 */
package com.wonder.admin.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.FieldFill;

/**   
 * @Description:TODO(任务管理实体类)
 * 
 * @author: Wonder
 * 
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sys_job")
@ApiModel(value="sys_job对象", description="任务管理表")
public class Job extends Model<Job> {

	private static final long serialVersionUID = 1664335111322745L;
	
	@TableId(value ="job_id", type = IdType.AUTO)
	@ApiModelProperty(name = "job_id" , value = "编号")
    private Long job_id;
    
    @TableField(value = "job_name") 	
	@ApiModelProperty(name = "job_name" , value = "任务名称")
    private String job_name;
    
    @TableField(value = "job_group") 	
	@ApiModelProperty(name = "job_group" , value = "任务组名")
    private String job_group;
    
    @TableField(value = "module") 	
	@ApiModelProperty(name = "module" , value = "执行模块")
    private String module;
    
    @TableField(value = "invoke_target") 	
	@ApiModelProperty(name = "invoke_target" , value = "调用目标字符串")
    private String invoke_target;
    
    @TableField(value = "cron_expression") 	
	@ApiModelProperty(name = "cron_expression" , value = "cron执行表达式")
    private String cron_expression;
    
    @TableField(value = "misfire_policy") 	
	@ApiModelProperty(name = "misfire_policy" , value = "计划执行错误策略")
    private Integer misfire_policy;
    
    @TableField(value = "concurrent") 	
	@ApiModelProperty(name = "concurrent" , value = "是否并发执行")
    private Integer concurrent;
    
    @TableField(value = "status") 	
	@ApiModelProperty(name = "status" , value = "状态")
    private Integer status;
    
    @TableField(value = "create_by") 	
	@ApiModelProperty(name = "create_by" , value = "创建者")
    private Long create_by;
    
	@TableField(value = "create_time",fill=FieldFill.INSERT) 
	@ApiModelProperty(name = "create_time" , value = "创建时间")
    private Date create_time;
    
    @TableField(value = "update_by") 	
	@ApiModelProperty(name = "update_by" , value = "更新者")
    private Long update_by;
    
 	@TableField(value = "update_time",fill=FieldFill.UPDATE) 
	@ApiModelProperty(name = "update_time" , value = "更新时间")
    private Date update_time;
    
    @TableField(value = "remark") 	
	@ApiModelProperty(name = "remark" , value = "备注信息")
    private String remark;
    
    @Version
    @TableField(value = "version") 	
	@ApiModelProperty(name = "version" , value ="Version")
    private String version;
    

	@Override
    public Serializable pkVal() {
        return this.job_id;
    }
   
}
